import axios from "axios";

// 约定大于配置
export const serverUrl = "";

const instance = axios.create({
  baseURL: serverUrl, // 请求的基地址
  timeout: 5000, // 网络请求超时时间
});

// 全局请求拦截，发起请求之前执行
instance.interceptors.request.use(
  function (config) {
    // config.headers["token"] = getToken(); // 设置token
    return config;
  },
  function (error) {
    return Promise.reject(error);
  }
);

// 全局响应拦截，网络请求返回之后执行
instance.interceptors.response.use(
  function (response) {
    return response.data;
  },
  function (error) {
    return Promise.reject(error);
  }
);

/**
 * 发起get请求
 * @param {*} url     请求地址
 * @param {*} params  传递的数据
 * @returns
 */
export function get(url, params) {
  return instance.get(url, {
    params, // params: params, // 表示url中传递的参数
  });
}

// export const get = (url, params) => instance.get(url, { params })

/**
 * 发起post请求
 * @param {*} url   请求的地址
 * @param {*} data  传递的数据
 * @returns
 */
export const post = (url, data) => instance.post(url, data);

/**
 * 发起put请求
 * @param {*} url   请求的地址
 * @param {*} data  传递的数据
 * @returns
 */
export const put = (url, data) => instance.put(url, data);

/**
 * 发起delete请求
 * @param {*} url
 * @returns
 */
export const del = (url) => instance.delete(url);



export default instance;
